#
#The contents of this file are subject to the Mozilla Public License Version 1.1 
#(the "License"); you may not use this file except in compliance with the License.
#You may obtain a copy of the License at http://www.mozilla.org/MPL/
#
#Software distributed under the License is distributed on an "AS IS" basis, 
#WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
#specific language governing rights and limitations under the License.
#
#The Original Code is Lepton.
#
#The Initial Developer of the Original Code is Philippe Le Boulanger.
#Portions created by Philippe Le Boulanger are Copyright (C) 2011 <lepton.phlb@gmail.com>.
#All Rights Reserved.
#
#Contributor(s): Jean-Jacques Pitrolle <lepton.jjp@gmail.com>.
#
#Alternatively, the contents of this file may be used under the terms of the eCos GPL license 
#(the  [eCos GPL] License), in which case the provisions of [eCos GPL] License are applicable 
#instead of those above. If you wish to allow use of your version of this file only under the
#terms of the [eCos GPL] License and not to allow others to use your version of this file under 
#the MPL, indicate your decision by deleting  the provisions above and replace 
#them with the notice and other provisions required by the [eCos GPL] License. 
#If you do not delete the provisions above, a recipient may use your version of this file under 
#either the MPL or the [eCos GPL] License."
#
#python module
import os
from tauon import *

#We need common file
#directories
k60n512_base_dir = os.getenv('HOME') + '/tauon/sys/root/'
k60n512_prj_dir = k60n512_base_dir + 'prj/scons/'

#import common scons script
SConscript([k60n512_prj_dir + 'common/SConscript'])

#import common src list files
Import('common_tauon_src_list')

#directories of source file
tauon_src_dir = k60n512_base_dir + 'src/'
tauon_kernel_dir = tauon_src_dir + 'kernel/'
tauon_kernel_arch_dir = tauon_kernel_dir + 'core/arch/cortexm/'
tauon_kernel_dev_dir = tauon_kernel_dir + 'dev/'
tauon_kernel_dev_k60n512_dir = tauon_kernel_dev_dir + 'arch/cortexm/k60n512/'
tauon_sbin_dir = tauon_src_dir + 'sbin/'
tauon_kernel_fat = tauon_kernel_dir + 'fs/fat/'

#get previous files
tauon_kernel_src_list = common_tauon_src_list

#sbin special case for init
tauon_kernel_src_list.extend([TauonSource(tauon_sbin_dir+'initd.c')])

#arch config files
tauon_kernel_src_list.extend([TauonSource(tauon_kernel_arch_dir+'dev_mkconf.c'),
TauonSource(tauon_kernel_arch_dir+'bin_mkconf.c'),
TauonSource(tauon_kernel_arch_dir+'dev_dskimg.c')
])

#device files
tauon_kernel_src_list.extend([TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_uart_x/dev_k60n512_uart_x.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_uart_x/dev_k60n512_uart_0.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_uart_x/dev_k60n512_uart_3.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_uart_x/dev_k60n512_uart_4.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_rtc/dev_k60n512_rtc.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_enet/dev_k60n512_enet.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_enet/dev_twrk60n512_enet.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_sdhc/dev_k60n512_sdhc.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_dspi/dev_k60n512_dspi_x.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_dspi/dev_k60n512_dspi_0.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_dspi/dev_k60n512_dspi_2.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'common/low_level_k60n512_pit.c'),
TauonSource(tauon_kernel_dev_k60n512_dir+'dev_k60n512_i2c_x/low_level_k60n512_i2c_x.c')
])

#general device files
tauon_kernel_src_list.extend([TauonSource(tauon_kernel_dev_dir+'arch/all/sd/dev_sd.c'),
TauonSource(tauon_kernel_dev_dir+'arch/all/sd/drv_sd.c'),
TauonSource(tauon_kernel_dev_dir+'arch/all/i2c/dev_eeprom_24xxx.c'),
TauonSource(tauon_kernel_dev_dir+'arch/all/i2c/dev_eeprom_24xxx_0.c'),
TauonSource(tauon_kernel_dev_dir+'arch/all/i2c/dev_eeprom_24xxx_1.c'),
TauonSource(tauon_kernel_dev_dir+'arch/all/i2c/dev_eeprom_24xxx_2.c'),
])

#fat files
tauon_kernel_src_list.extend([TauonSource(tauon_kernel_fat+'fat16.c'),
TauonSource(tauon_kernel_fat+'fatcore.c'),
TauonSource(tauon_kernel_fat+'fat16_msdos.c'),
TauonSource(tauon_kernel_fat+'fatcore_msdos.c'),
TauonSource(tauon_kernel_fat+'fat16_vfat.c'),
TauonSource(tauon_kernel_fat+'fatcore_vfat.c')
])

#directory to store lib
tauon_ecos_lib_dir = k60n512_base_dir + 'lib/arch/cortexm/k60n512/'
tauon_ecos_install_dir = tauon_ecos_lib_dir + 'install/'

tauon_kernel_lib_dir = tauon_ecos_lib_dir + 'bin/'
tauon_kernel_obj_dir = k60n512_prj_dir + 'arch/cortexm/k60n512/obj/'

#export source files
Export('tauon_kernel_src_list')
Export('tauon_kernel_lib_dir')
Export('tauon_kernel_obj_dir')
Export('tauon_ecos_install_dir')
